package com.tsd.jxc.sale.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 销售订单-明细
 *
 * @author Hillpool
 * @date 2024/05/10 17:36:56
 */
@ApiModel(description = "销售订单-明细")
public class JxcSaleOrderDetail implements Serializable {

    @ApiModelProperty(value = "自动增长的数字序号", example = "1")
    private Long id;

    @ApiModelProperty(value = "编程代码设置的uuid", example = "1")
    private String sid;

    @ApiModelProperty(value = "创建时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date create_date;

    @ApiModelProperty(value = "创建人sid", example = "1")
    private String creator_sid;

    @ApiModelProperty(value = "创建人名称", example = "1")
    private String creator_name;

    @ApiModelProperty(value = "更新时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date update_date;

    @ApiModelProperty(value = "更新人sid", example = "1")
    private String updator_sid;

    @ApiModelProperty(value = "更新人名称", example = "1")
    private String updator_name;

    @ApiModelProperty(value = "审核日期", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date audit_date;

    @ApiModelProperty(value = "审核人sid", example = "1")
    private String auditor_sid;

    @ApiModelProperty(value = "审核人姓名", example = "1")
    private String auditor_name;

    @ApiModelProperty(value = "上级id", example = "1")
    private String parent_sid;

    @ApiModelProperty(value = "sys_group的sid，与creator_sid相关，保存时关联写入", example = "1")
    private String group_sid;

    @ApiModelProperty(value = "归属sid，可以是sys_user_sid，也可以是sys_group的sid，需要根据不同的业务场景确定", example = "1")
    private String owner_sid;

    @ApiModelProperty(value = "编码，本级编码", example = "1")
    private String code;

    @ApiModelProperty(value = "完整编码，点号分隔形成多级编码", example = "1")
    private String full_code;

    @ApiModelProperty(value = "名称", example = "1")
    private String name;

    @ApiModelProperty(value = "排序", example = "1")
    private Integer sn;

    @ApiModelProperty(value = "状态，1-有效，-1-删除", example = "1")
    private Integer state;

    @ApiModelProperty(value = "删除标志，0-未删除，1-已删除", example = "1")
    private Integer dr;

    @ApiModelProperty(value = "删除时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date dr_date;

    @ApiModelProperty(value = "删除人员sid", example = "1")
    private String dr_user_sid;

    @ApiModelProperty(value = "删除人名称 ", example = "1")
    private String dr_user_name;

    @ApiModelProperty(value = "备注", example = "1")
    private String note_info;

    @ApiModelProperty(value = "年份", example = "1")
    private Integer yyyy;

    @ApiModelProperty(value = "月份", example = "1")
    private Integer mm;

    @ApiModelProperty(value = "日期", example = "1")
    private Integer dd;

    @ApiModelProperty(value = "旬，1-上旬，2-中旬，3-下旬", example = "1")
    private Integer ten_days;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext0;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext1;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext2;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext3;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext4;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext5;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext6;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext7;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext8;

    @ApiModelProperty(value = "是否有附件文件", example = "1")
    private Integer file;

    @ApiModelProperty(value = "记录增加类型，single-单个增加，bat-批量增加，imp-导入，api-api调用增加", example = "1")
    private String add_type;

    @ApiModelProperty(value = "销售订单的sid，jxc_sale_order的sid", example = "1")
    private String order_sid;

    @ApiModelProperty(value = "商品sid", example = "1")
    private String goods_sid;

    @ApiModelProperty(value = "数量", example = "1")
    private BigDecimal qty;

    @ApiModelProperty(value = "计量单位", example = "1")
    private String unit_name;

    @ApiModelProperty(value = "换算为基本单位的数量，当unit_name=base_unit时，等于qty", example = "1")
    private BigDecimal qty4base;

    @ApiModelProperty(value = "目录价格（原价）", example = "1")
    private BigDecimal list_price;

    @ApiModelProperty(value = "折扣，8折是输入0.8000", example = "1")
    private BigDecimal price_rate;

    @ApiModelProperty(value = "销售单价", example = "1")
    private BigDecimal price;

    @ApiModelProperty(value = "金额", example = "1")
    private BigDecimal amount;

    @ApiModelProperty(value = "税率，6%是输入0.06", example = "1")
    private BigDecimal tax_rate;

    @ApiModelProperty(value = "税额", example = "1")
    private BigDecimal tax_amount;

    @ApiModelProperty(value = "含税金额", example = "1")
    private BigDecimal total_amount;

    @ApiModelProperty(value = "已生成出库单数量",example = "1")
    private BigDecimal out_qty4base;

    @ApiModelProperty(value = "生成出库单标志，0-全部未生成出库单，1-部分生成出库单，2-全部生成出库单",example = "1")
    private Integer out_bill;

    @ApiModelProperty(value = "分录记录类型，0-普通商品，1-总体费用变动，2-某个商品的费用变动", example = "1")
    private Integer item_type;

    @ApiModelProperty(value = "退货数量", example = "1")
    private BigDecimal return_qty;

    @ApiModelProperty(value = "退货数量（基本计量单位）", example = "1")
    private BigDecimal return_qty4base;

    @ApiModelProperty(value = "退货金额", example = "1")
    private BigDecimal return_amount;

    @ApiModelProperty(value = "采购订单分录sid", example = "1")
    private String buy_order_detail_sid;

    @ApiModelProperty(value = "规格信息", example = "1")
    private String spec_info;

    @ApiModelProperty(value = "平均成本，取货品进货平均价格", example = "1")
    private BigDecimal avg_cost;

    @ApiModelProperty(value = "对账标志：0-未对账、1-已对账", example = "1")
    private Integer pay_req_state;

    @ApiModelProperty(value = "毛利",example = "1")
    private BigDecimal profit;

    @ApiModelProperty(value = "毛利率",example = "1")
    private BigDecimal profit_ratio;


    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSid() {
        return this.sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public Date getCreate_date() {
        return this.create_date;
    }

    public void setCreate_date(Date create_date) {
        this.create_date = create_date;
    }

    public String getCreator_sid() {
        return this.creator_sid;
    }

    public void setCreator_sid(String creator_sid) {
        this.creator_sid = creator_sid;
    }

    public String getCreator_name() {
        return this.creator_name;
    }

    public void setCreator_name(String creator_name) {
        this.creator_name = creator_name;
    }

    public Date getUpdate_date() {
        return this.update_date;
    }

    public void setUpdate_date(Date update_date) {
        this.update_date = update_date;
    }

    public String getUpdator_sid() {
        return this.updator_sid;
    }

    public void setUpdator_sid(String updator_sid) {
        this.updator_sid = updator_sid;
    }

    public String getUpdator_name() {
        return this.updator_name;
    }

    public void setUpdator_name(String updator_name) {
        this.updator_name = updator_name;
    }

    public Date getAudit_date() {
        return this.audit_date;
    }

    public void setAudit_date(Date audit_date) {
        this.audit_date = audit_date;
    }

    public String getAuditor_sid() {
        return this.auditor_sid;
    }

    public void setAuditor_sid(String auditor_sid) {
        this.auditor_sid = auditor_sid;
    }

    public String getAuditor_name() {
        return this.auditor_name;
    }

    public void setAuditor_name(String auditor_name) {
        this.auditor_name = auditor_name;
    }

    public String getParent_sid() {
        return this.parent_sid;
    }

    public void setParent_sid(String parent_sid) {
        this.parent_sid = parent_sid;
    }

    public String getGroup_sid() {
        return this.group_sid;
    }

    public void setGroup_sid(String group_sid) {
        this.group_sid = group_sid;
    }

    public String getOwner_sid() {
        return this.owner_sid;
    }

    public void setOwner_sid(String owner_sid) {
        this.owner_sid = owner_sid;
    }

    public String getCode() {
        return this.code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getFull_code() {
        return this.full_code;
    }

    public void setFull_code(String full_code) {
        this.full_code = full_code;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSn() {
        return this.sn;
    }

    public void setSn(Integer sn) {
        this.sn = sn;
    }

    public Integer getState() {
        return this.state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getDr() {
        return this.dr;
    }

    public void setDr(Integer dr) {
        this.dr = dr;
    }

    public Date getDr_date() {
        return this.dr_date;
    }

    public void setDr_date(Date dr_date) {
        this.dr_date = dr_date;
    }

    public String getDr_user_sid() {
        return this.dr_user_sid;
    }

    public void setDr_user_sid(String dr_user_sid) {
        this.dr_user_sid = dr_user_sid;
    }

    public String getDr_user_name() {
        return this.dr_user_name;
    }

    public void setDr_user_name(String dr_user_name) {
        this.dr_user_name = dr_user_name;
    }

    public String getNote_info() {
        return this.note_info;
    }

    public void setNote_info(String note_info) {
        this.note_info = note_info;
    }

    public Integer getYyyy() {
        return this.yyyy;
    }

    public void setYyyy(Integer yyyy) {
        this.yyyy = yyyy;
    }

    public Integer getMm() {
        return this.mm;
    }

    public void setMm(Integer mm) {
        this.mm = mm;
    }

    public Integer getDd() {
        return this.dd;
    }

    public void setDd(Integer dd) {
        this.dd = dd;
    }

    public Integer getTen_days() {
        return this.ten_days;
    }

    public void setTen_days(Integer ten_days) {
        this.ten_days = ten_days;
    }

    public BigDecimal getExt0() {
        return this.ext0;
    }

    public void setExt0(BigDecimal ext0) {
        this.ext0 = ext0;
    }

    public BigDecimal getExt1() {
        return this.ext1;
    }

    public void setExt1(BigDecimal ext1) {
        this.ext1 = ext1;
    }

    public BigDecimal getExt2() {
        return this.ext2;
    }

    public void setExt2(BigDecimal ext2) {
        this.ext2 = ext2;
    }

    public BigDecimal getExt3() {
        return this.ext3;
    }

    public void setExt3(BigDecimal ext3) {
        this.ext3 = ext3;
    }

    public String getExt4() {
        return this.ext4;
    }

    public void setExt4(String ext4) {
        this.ext4 = ext4;
    }

    public String getExt5() {
        return this.ext5;
    }

    public void setExt5(String ext5) {
        this.ext5 = ext5;
    }

    public String getExt6() {
        return this.ext6;
    }

    public void setExt6(String ext6) {
        this.ext6 = ext6;
    }

    public String getExt7() {
        return this.ext7;
    }

    public void setExt7(String ext7) {
        this.ext7 = ext7;
    }

    public String getExt8() {
        return this.ext8;
    }

    public void setExt8(String ext8) {
        this.ext8 = ext8;
    }

    public Integer getFile() {
        return this.file;
    }

    public void setFile(Integer file) {
        this.file = file;
    }

    public String getAdd_type() {
        return this.add_type;
    }

    public void setAdd_type(String add_type) {
        this.add_type = add_type;
    }

    public String getOrder_sid() {
        return this.order_sid;
    }

    public void setOrder_sid(String order_sid) {
        this.order_sid = order_sid;
    }

    public String getGoods_sid() {
        return this.goods_sid;
    }

    public void setGoods_sid(String goods_sid) {
        this.goods_sid = goods_sid;
    }

    public BigDecimal getQty() {
        return this.qty;
    }

    public void setQty(BigDecimal qty) {
        this.qty = qty;
    }

    public String getUnit_name() {
        return this.unit_name;
    }

    public void setUnit_name(String unit_name) {
        this.unit_name = unit_name;
    }

    public BigDecimal getQty4base() {
        return this.qty4base;
    }

    public void setQty4base(BigDecimal qty4base) {
        this.qty4base = qty4base;
    }

    public BigDecimal getList_price() {
        return this.list_price;
    }

    public void setList_price(BigDecimal list_price) {
        this.list_price = list_price;
    }

    public BigDecimal getPrice_rate() {
        return this.price_rate;
    }

    public void setPrice_rate(BigDecimal price_rate) {
        this.price_rate = price_rate;
    }

    public BigDecimal getPrice() {
        return this.price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getAmount() {
        return this.amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getTax_rate() {
        return this.tax_rate;
    }

    public void setTax_rate(BigDecimal tax_rate) {
        this.tax_rate = tax_rate;
    }

    public BigDecimal getTax_amount() {
        return this.tax_amount;
    }

    public void setTax_amount(BigDecimal tax_amount) {
        this.tax_amount = tax_amount;
    }

    public BigDecimal getTotal_amount() {
        return this.total_amount;
    }

    public void setTotal_amount(BigDecimal total_amount) {
        this.total_amount = total_amount;
    }

	public BigDecimal getOut_qty4base() {
        return this.out_qty4base;
    }

    public void setOut_qty4base(BigDecimal out_qty4base) {
        this.out_qty4base = out_qty4base;
    }

	public Integer getOut_bill() {
        return this.out_bill;
    }

    public void setOut_bill(Integer out_bill) {
        this.out_bill = out_bill;
    }

    public Integer getItem_type() {
        return this.item_type;
    }

    public void setItem_type(Integer item_type) {
        this.item_type = item_type;
    }

    public BigDecimal getReturn_qty() {
        return this.return_qty;
    }

    public void setReturn_qty(BigDecimal return_qty) {
        this.return_qty = return_qty;
    }

    public BigDecimal getReturn_qty4base() {
        return this.return_qty4base;
    }

    public void setReturn_qty4base(BigDecimal return_qty4base) {
        this.return_qty4base = return_qty4base;
    }

    public BigDecimal getReturn_amount() {
        return this.return_amount;
    }

    public void setReturn_amount(BigDecimal return_amount) {
        this.return_amount = return_amount;
    }

    public String getBuy_order_detail_sid() {
        return this.buy_order_detail_sid;
    }

    public void setBuy_order_detail_sid(String buy_order_detail_sid) {
        this.buy_order_detail_sid = buy_order_detail_sid;
    }

    public String getSpec_info() {
        return this.spec_info;
    }

    public void setSpec_info(String spec_info) {
        this.spec_info = spec_info;
    }

    public BigDecimal getAvg_cost() {
        return this.avg_cost;
    }

    public void setAvg_cost(BigDecimal avg_cost) {
        this.avg_cost = avg_cost;
    }

    public Integer getPay_req_state() {
        return this.pay_req_state;
    }

    public void setPay_req_state(Integer pay_req_state) {
        this.pay_req_state = pay_req_state;
    }

	public BigDecimal getProfit() {
        return this.profit;
    }

    public void setProfit(BigDecimal profit) {
        this.profit = profit;
    }

	public BigDecimal getProfit_ratio() {
        return this.profit_ratio;
    }

    public void setProfit_ratio(BigDecimal profit_ratio) {
        this.profit_ratio = profit_ratio;
    }


}
